1. Field of the Invention
The present invention relates to the field of voice technologies, and, more particularly, to distinguishing among different types of abstractions using voice commands.
2. Description of the Related Art
Many different types of automated sequences or groupings of computing instructions exist including scripts, macros, and collections. These grouped actions are often used as an abstraction for a specific pattern or sequence of steps. Whenever a defined abstraction is detected by a computing device, an associated sequence of steps or set of programmatic instructions is automatically executed. Actions associated with particular abstractions can be user defined, where the abstraction is often a trigger having a logical relationship to the sequence of user defined actions.
For example, a user can define an abstraction “wake-up” consisting of a series of steps where a computing system (1) sounds an alarm, (2) starts to brew a cup of coffee, (3) starts a shower, and (4) prints a daily calendar for the user. In this example, the abstraction, “wake-up” is automatically performed at a previously established time. The steps of the abstraction can be timed so that the shower starts two minutes after the alarm, so that the coffee is brewed while the user is in the shower to ensure the coffee is hot, and so forth. A time dependent abstraction, such as “wake-up,” is referred to as a script for purposes of the present invention.
Another type of abstraction includes a macro defined herein as a sequence of ordered steps, where the beginning of one step is contingent upon the completion of an earlier step. For example, a macro for “clean-clothes” can include placing clothes in a washer, adding detergent, starting a washer, waiting for the washer to finish, placing wet clothes in a dryer, and starting the dryer. In a macro, each subsequent step requires a completion of a preliminary step.
Still another type of abstraction includes a collection, defined herein as a sequence of asynchronous steps. Order and timing of actions in a collection are not significant. For example, a collection for “mass-fax” can result in multiple documents being faxed to multiple recipients. The mass-fax collection of steps can be performed by a community fax server as a background process whenever resources are available. An order of sent faxes and a timing of the sendings for the collection is not significant and can be handled in accordance with other workload and/or in accordance with an externally defined prioritization scheme.
Differentiation among different types of abstractions is an issue not currently addressed by conventional voice response systems. That is, no known voice response system permits a user to differentiate among a script, a macro, and/or a collection of steps using voice commands. This is a significant oversight related to voice-enabled computing environments that has resulted in abstractions being under utilized in these environments.